home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / xvidoc.zip / SUMMARY.LST < prev    next >
File List  |  1992-07-28  |  25KB  |  661 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.          Summary of Differences between Vi and Xvi
  11.  
  12.  
  13.                    Chris Downey
  14.                 John Downey
  15.  
  16.  
  17.  
  18.            Xvi (pronounced _e_c_k_s-_v_e_e-_e_y_e) is a free, portable,
  19.       multi-window implementation of the popular UNIX|- editor
  20.       vi.
  21.  
  22.       This document summarises the  differences  between  the
  23.       ``real''  vi  and  xvi.   These differences are divided
  24.       into three groups: _u_n_i_m_p_l_e_m_e_n_t_e_d _f_e_a_t_u_r_e_s,  _d_i_f_f_e_r_e_n_c_e_s
  25.       and _e_n_h_a_n_c_e_m_e_n_t_s, and each of these is described in the
  26.       following sections.
  27.  
  28.  
  29.  
  30.      _1.  _U_n_i_m_p_l_e_m_e_n_t_e_d _F_e_a_t_u_r_e_s
  31.  
  32.      _1._1.  _E_x _M_o_d_e
  33.  
  34.      The main area in which xvi is lacking is vi's _e_x mode,  which  is
  35.      not implemented at all (and neither are edit, e, and open modes).
  36.      However, many of the ex commands are available in  xvi  as  colon
  37.      commands;  the  colon commands that have not been implemented are
  38.      mostly those which offer the same functionality as other commands
  39.      in vi mode.
  40.  
  41.      Specifically, the following ex commands are not implemented,  and
  42.      probably never will be within xvi:
  43.  
  44.          _i_n_s_e_r_t         _u_n_d_o           _e_x
  45.          _c_h_a_n_g_e         _o_p_e_n           |
  46.          _a_p_p_e_n_d         _z
  47.  
  48.      while these ex commands, although not currently implemented,  may
  49.      be added as colon commands at some time in the future:
  50.  
  51.          _a_b_b_r_e_v_i_a_t_e     _r_e_c_o_v_e_r        _w_r_i_t_e>>
  52.          _u_n_a_b_b_r_e_v_i_a_t_e   _j_o_i_n
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.      _________________________
  60.      |- UNIX is a trademark of Bell Laboratories.
  61.  
  62.  
  63.  
  64.      _2_5_t_h _S_e_p_t_e_m_b_e_r _1_9_9_2                                        _P_a_g_e _1
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      _2                       _S_u_m_m_a_r_y _o_f _D_i_f_f_e_r_e_n_c_e_s _b_e_t_w_e_e_n _V_i _a_n_d _X_v_i
  71.  
  72.  
  73.      _1._2.  _V_i _c_o_m_m_a_n_d_s
  74.  
  75.      The following vi mode  commands  are  not  implemented,  although
  76.      there is no real reason why they shouldn't be:
  77.  
  78.          _U              =
  79.  
  80.      while this one is inappropriate in  the  context  of  xvi,  since
  81.      there is no _e_x mode:
  82.  
  83.          _Q
  84.  
  85.  
  86.      _1._3.  _P_a_r_a_m_e_t_e_r_s
  87.  
  88.      The following parameters have not been implemented, and  probably
  89.      won't be:
  90.  
  91.          _a_d_a            _l_i_s_p           _r_e_d_r_a_w
  92.          _a_d_a_p_a_t_h        _m_e_s_g           _s_l_o_w_o_p_e_n
  93.          _a_u_t_o_p_r_i_n_t      _m_o_d_e_l_i_n_e       _t_e_r_m
  94.          _b_e_a_u_t_i_f_y       _o_p_e_n           _t_e_r_s_e
  95.          _d_i_r_e_c_t_o_r_y      _o_p_t_i_m_i_z_e       _t_t_y_t_y_p_e
  96.          _e_d_c_o_m_p_a_t_i_b_l_e   _p_r_o_m_p_t         _w_i_n_d_o_w
  97.          _h_a_r_d_t_a_b_s
  98.  
  99.      while these parameters may well be implemented at some point:
  100.  
  101.          _a_u_t_o_w_r_i_t_e      _s_c_r_o_l_l         _w_a_r_n
  102.          _e_r_r_o_r_b_e_l_l_s     _s_o_u_r_c_e_a_n_y      _w_r_i_t_e_a_n_y
  103.  
  104.  
  105.      _1._4.  _M_i_s_c_e_l_l_a_n_e_o_u_s
  106.  
  107.      Some features of certain commands do not  work  as  they  should.
  108.      Specifically:
  109.  
  110.      o+    Repeat counts before insertions don't work.
  111.  
  112.      o+    Appending to named buffers is not yet implemented.
  113.  
  114.      o+    Typing ^Q in input mode does not mean the  same  as  ^V;  it
  115.       just  inserts  a `^Q', assuming it gets as far as the editor
  116.       at all.
  117.  
  118.      o+    Typing ^W in insert mode does not back up one word as in vi.
  119.  
  120.      o+    It is not possible to  interrupt  the  editor  while  it  is
  121.       performing  certain  operations.   If  you  start  off a big
  122.       global command, you have to wait for it to finish.
  123.  
  124.      o+    Flags and counts after colon commands are not supported.
  125.  
  126.  
  127.  
  128.  
  129.  
  130.      _P_a_g_e _2                                        _2_5_t_h _S_e_p_t_e_m_b_e_r _1_9_9_2
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      _S_u_m_m_a_r_y _o_f _D_i_f_f_e_r_e_n_c_e_s _b_e_t_w_e_e_n _V_i _a_n_d _X_v_i                       _3
  137.  
  138.  
  139.  
  140.      o+    It is not possible to read the output of  a  system  command
  141.       using
  142.  
  143.           :r !_c_o_m_m_a_n_d
  144.  
  145.       or to write into a command using
  146.  
  147.           :w !_c_o_m_m_a_n_d
  148.  
  149.  
  150.      o+    The :substitute command does not support splitting of lines.
  151.  
  152.      o+    Regular expressions, although  implemented  (see  later  for
  153.       more  details), do not support the ~ character; also, the \u
  154.       and \l escape sequences are not supported on the  right-hand
  155.       side of a substitute replacement pattern.
  156.  
  157.      o+    The :global command only supports the commands [lps&~d].
  158.  
  159.      o+    Undo does not work properly when applied to macros (either @
  160.       or  :map); it should undo all the changes made by the macro,
  161.       but in fact only  the  last  command  within  the  macro  is
  162.       undone.
  163.  
  164.      _2.  _E_n_h_a_n_c_e_m_e_n_t_s
  165.  
  166.      The following extensions are available in xvi.
  167.  
  168.      _2._1.  _P_a_r_a_m_e_t_e_r _H_a_n_d_l_i_n_g
  169.  
  170.      Xvi supports 5 types of  parameter:  as  well  as  vi's  _n_u_m_e_r_i_c,
  171.      _s_t_r_i_n_g  and  _b_o_o_l_e_a_n, it also has _e_n_u_m_e_r_a_t_e_d and _l_i_s_t types.  The
  172.      former is used for e.g. format and regextype, while the latter is
  173.      currently  only  used  for tags.  The advantage of the _e_n_u_m_e_r_a_t_e_d
  174.      type is that if you try to set  an  illegal  value,  the  set  of
  175.      correct  values  will  be  displayed, which is very useful if you
  176.      have forgotten what the values may be.  (Try :set preserve to see
  177.      an example of this.)
  178.  
  179.      _2._2.  _W_i_n_d_o_w_s
  180.  
  181.      Xvi supports multiple _b_u_f_f_e_r_s  and  _w_i_n_d_o_w_s.   A  _b_u_f_f_e_r  is  the
  182.      object which holds a file in memory, while a _w_i_n_d_o_w is an area of
  183.      the screen which shows part of a buffer.  Note that every  window
  184.      references a buffer, even if no file is being edited.
  185.  
  186.      The following commands are available for operating on buffers and
  187.      windows:
  188.  
  189.      :buffer   create a new buffer in a new window; can be followed by
  190.            a filename, which will be edited in the new buffer.
  191.  
  192.      :split    create  a  new  window  onto  the  current  buffer   by
  193.            splitting   the   current  window  in  half.   The  two
  194.  
  195.  
  196.      _2_5_t_h _S_e_p_t_e_m_b_e_r _1_9_9_2                                        _P_a_g_e _3
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      _4                       _S_u_m_m_a_r_y _o_f _D_i_f_f_e_r_e_n_c_e_s _b_e_t_w_e_e_n _V_i _a_n_d _X_v_i
  203.  
  204.  
  205.            resulting windows are similar  to  _v_i_e_w_p_o_r_t_s  on  to  a
  206.            single  editing  buffer,  in  that  changes made in one
  207.            window are reflected in the other one.
  208.  
  209.      :close    close the current window; will also close the buffer if
  210.            this is the last window onto it.
  211.  
  212.      :x / ZZ   close only the current window.  If the  window  is  the
  213.            only  one onto the buffer, the buffer will be closed as
  214.            well, writing it first if it is modified.  Hence, for a
  215.            single window, this command does the same as in vi.
  216.  
  217.      g         move to the next window.  This is normally  the  window
  218.            directly  below  the  current one on the screen, or the
  219.            top window on the screen if the current window  is  the
  220.            bottom one.
  221.  
  222.      ^W        increase the size of the current window (may be given a
  223.            numeric prefix, default is one line).
  224.  
  225.      ^T        decrease the size of the current window (may be given a
  226.            numeric prefix, default is one line).
  227.  
  228.      ^O        make the current window as large as possible.
  229.  
  230.      ^]        as  for  vi,  but  creates  a  new  buffer  window   if
  231.            appropriate (and if autosplit allows).
  232.  
  233.      Note that the :quit command quits out of the editor, not out of a
  234.      window.   The  :close command is thus the equivalent of :quit for
  235.      windows.  There is no equivalent  of  :x  or  ZZ  for  the  whole
  236.      editor; these have been hijacked for operations on windows.
  237.  
  238.      Also the numeric autosplit parameter specifies the maximum number
  239.      of buffer windows that will be created automatically whenever you
  240.      either edit more than one file, or use tags to edit  a  different
  241.      file.
  242.  
  243.      Undo works per buffer, as do marks;  yank/put  and  redo  (the  .
  244.      command)  work  over  all  buffers,  i.e. you can delete from one
  245.      buffer and put the text into a different buffer.
  246.  
  247.      The minrows parameter specifies the minimum  number  of  rows  to
  248.      which  a  window  may  be shrunk, including the status line.  The
  249.      default value is 2; 0 and 1 may also be useful.
  250.  
  251.      _2._3.  _N_a_m_e_d _B_u_f_f_e_r_s
  252.  
  253.      As well as the normal named (conjugate) buffers, and the  default
  254.      one  named @, several extra buffers named :, /, ?  and !  contain
  255.      the last command lines entered for each of the command types.  So
  256.      for  instance,  @: will re-execute the last colon command, or you
  257.      can insert it into your buffer, edit it and  then  re-execute  it
  258.      (e.g. with _d_d@@).
  259.  
  260.  
  261.  
  262.      _P_a_g_e _4                                        _2_5_t_h _S_e_p_t_e_m_b_e_r _1_9_9_2
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      _S_u_m_m_a_r_y _o_f _D_i_f_f_e_r_e_n_c_e_s _b_e_t_w_e_e_n _V_i _a_n_d _X_v_i                       _5
  269.  
  270.  
  271.  
  272.      _2._4.  _F_i_l_e _F_o_r_m_a_t_s
  273.  
  274.      Xvi will handle different file formats, via the format parameter,
  275.      which  may  be set to e.g.  "unix", "msdos", etc.  This means you
  276.      can edit MS-DOS files under UNIX, etc.
  277.  
  278.      _2._5.  _R_e_g_u_l_a_r _E_x_p_r_e_s_s_i_o_n_s
  279.  
  280.      Vi's magic parameter is  replaced  by  the  regextype  parameter,
  281.      which can take the following values:
  282.  
  283.      tags      only ^ and $ are significant (used for tags).
  284.  
  285.      grep      like _g_r_e_p(1), but with _\< and _\> added.
  286.  
  287.      egrep     like _e_g_r_e_p(1), but with _\< and _\> added.
  288.  
  289.      The default is _g_r_e_p.
  290.  
  291.      The  sections  and  paragraphs  parameters   define   _e_g_r_e_p-style
  292.      patterns  to  search for, rather than _v_i's simplistic (and _t_r_o_f_f-
  293.      dependent) character pairs.
  294.  
  295.      The sentences parameter is also implemented in this fashion,  but
  296.      this is not completely satisfactory at the moment.
  297.  
  298.      Note that it is possible to set or unset the magic  parameter  as
  299.      in  vi;  this will simply result in the regextype parameter being
  300.      set as appropriate.
  301.  
  302.      _2._6.  _C_o_l_o_u_r
  303.  
  304.      Xvi has a minimal amount  of  support  for  colours.   Basically,
  305.      there  are  considered  to  be four settable colours, each with a
  306.      numeric parameter to say what its value is:
  307.  
  308.      colour        colour used for text
  309.  
  310.      statuscolour  colour used for status lines
  311.  
  312.      roscolour     as statuscolour, but for readonly files
  313.  
  314.      systemcolour  colour used for system  mode  (i.e.  subshells  and
  315.            after termination).
  316.  
  317.      The actual values of these parameters are system-dependent; on PC
  318.      versions,  they are hardware-dependent video attributes, while on
  319.      UNIX they are indexes into the entries ``c0'' to  ``c9''  in  the
  320.      _t_e_r_m_c_a_p(5)  database,  which  are  assumed  to  be colour-setting
  321.      escape sequences if they are present.  If they are  not  present,
  322.      "so"  (begin standout mode) and "se" (end standout mode) are used
  323.      instead.  Values of 0 and  1  give  normal  text,  2  to  9  give
  324.      standout mode.
  325.  
  326.  
  327.  
  328.      _2_5_t_h _S_e_p_t_e_m_b_e_r _1_9_9_2                                        _P_a_g_e _5
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      _6                       _S_u_m_m_a_r_y _o_f _D_i_f_f_e_r_e_n_c_e_s _b_e_t_w_e_e_n _V_i _a_n_d _X_v_i
  335.  
  336.  
  337.      The default colour  for  the  roscolour  parameter  will  usually
  338.      involve red if colours are available; this is intended to provide
  339.      a warning to the user that writing the file may not be possible.
  340.  
  341.      The colour values may be entered in decimal, octal or hexadecimal
  342.      form.   This  may be convenient for PC versions where the numbers
  343.      actually represent colour bitmaps; for example, on MS-DOS,
  344.  
  345.          :_s_e_t _c_o=_0_x_1_f
  346.  
  347.      gives bright white text on a blue background.
  348.  
  349.      _2._7.  _R_e_p_l_a_c_e _M_o_d_e
  350.  
  351.      Xvi's  _r_e_p_l_a_c_e  mode  (entered  by  the  R  command)  acts   more
  352.      intelligently  when you press the return key - it leaves the rest
  353.      of the current line alone, and just starts replacing text on  the
  354.      next line, starting at the screen column where you first typed R.
  355.  
  356.      _2._8.  _P_r_e_s_e_r_v_e
  357.  
  358.      Rather than use vi's UNIX-specific method for  preservation,  xvi
  359.      does  periodic  preservation  of all files currently being edited
  360.      into a temporary file in the same directory.   Xvi  tries  to  do
  361.      this  when you are not typing, so that you won't notice the short
  362.      delay when the temporary file is written  out.   Obviously,  only
  363.      changed  files  are preserved in this way, and the temporary file
  364.      is normally removed once the  real  file  has  been  successfully
  365.      written.   As  an  additional  safety  measure,  when  a  file is
  366.      explicitly saved and  it  appears  not  to  have  been  preserved
  367.      recently,  it  is  normally  preserved first.  This ensures that,
  368.      even if the operating system crashes while the real file is being
  369.      created, there should always be at least one recent copy of it in
  370.      the filesystem.  The :preserve command is available as in  vi  to
  371.      preserve a specific buffer manually.
  372.  
  373.      The level of safety provided by the preservation facility may  be
  374.      configured   by   changing   the   values  of  the  _p_r_e_s_e_r_v_e  and
  375.      _p_r_e_s_e_r_v_e_t_i_m_e parameters.  The following values are available  for
  376.      _p_r_e_s_e_r_v_e:
  377.  
  378.      unsafe    Never preserve any  buffer  before  an  explicit  save.
  379.            This  can  be useful on old, slow, floppy-only systems,
  380.            but is not generally recommended.
  381.  
  382.      standard  The default value.  Only preserve a  buffer  before  an
  383.            explicit  save if it appears not to have been preserved
  384.            recently.
  385.  
  386.      safe      Always preserve buffers before they are written.
  387.  
  388.      paranoid  As for safe, but the preserve file  is  never  removed,
  389.            even after the file has been successfully written.
  390.  
  391.      In all cases, all modified buffers  are  preserved  automatically
  392.  
  393.  
  394.      _P_a_g_e _6                                        _2_5_t_h _S_e_p_t_e_m_b_e_r _1_9_9_2
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      _S_u_m_m_a_r_y _o_f _D_i_f_f_e_r_e_n_c_e_s _b_e_t_w_e_e_n _V_i _a_n_d _X_v_i                       _7
  401.  
  402.  
  403.      after no user events have been received for _p_r_e_s_e_r_v_e_t_i_m_e seconds,
  404.      if a minimum number of events (currently 60) have  been  received
  405.      since  the  last  automatic  preservation.  This behaviour can be
  406.      more or less disabled by setting  _p_r_e_s_e_r_v_e_t_i_m_e  to  a  very  high
  407.      value.   (For  example,  one of the authors sets it to 600 on the
  408.      machine he uses at home, which is an 8088-based PC with  no  hard
  409.      disk;  by  way of contrast, on the SparcStation IPX which he uses
  410.      at work, he sets it to 2.)
  411.  
  412.      The names given to preserve files are system-dependent,  but  are
  413.      generally  of  the  form  "_f_i_l_e_n_a_m_e.tmp",  or  "_f_i_l_e_n_a_m_e.001"  to
  414.      "_f_i_l_e_n_a_m_e.999".  If a preserve file already exists, it  will  not
  415.      be overwritten; instead, a new filename will be generated.
  416.  
  417.      The -r command line option is not supported.
  418.  
  419.      _2._9.  _H_e_l_p
  420.  
  421.      A primitive help facility is available; the command  :help,  also
  422.      mapped  to  the HELP or F1 keys on many systems, simply creates a
  423.      new buffer window onto a standard help file.   The  name  of  the
  424.      file  which  is edited is given by the helpfile string parameter;
  425.      the default on Unix versions is "/usr/lib/xvi.help".
  426.  
  427.      _2._1_0.  _S_c_r_o_l_l_i_n_g
  428.  
  429.      The  _j_u_m_p_s_c_r_o_l_l  enumerated  parameter  controls   the   editor's
  430.      behaviour  when the cursor moves beyond the limits of the current
  431.      window.  If its value is _o_f_f,  and  the  new  position  is  still
  432.      reasonably  close  to  the  current  window,  the  window will be
  433.      scrolled so that the new cursor position is at the top or  bottom
  434.      of it.  Typically, the window will be scrolled one line at a time
  435.      as the cursor is moved up or down.  This behaviour may not always
  436.      be  desirable;  for  example,  terminals  without  real scrolling
  437.      regions may force the editor to do  a  lot  of  screen  updating,
  438.      possibly over a slow telephone line or overloaded network.  Also,
  439.      on LCD screens or other displays with a long  image  persistence,
  440.      it  may  make  the text more difficult to read.  If _j_u_m_p_s_c_r_o_l_l is
  441.      set to _o_n, scrolling behaviour is modified so that, whenever  the
  442.      cursor  moves beyond the limits of the current window, the window
  443.      is redrawn so as to place the cursor as centrally as possible  in
  444.      it;  thus,  the  window appears to _j_u_m_p to the new position.  The
  445.      default value for _j_u_m_p_s_c_r_o_l_l is auto, which causes the editor  to
  446.      jump  instead  of  scrolling only if it can't scroll the affected
  447.      window efficiently.
  448.  
  449.      In all cases, if the distance from  the  top  or  bottom  of  the
  450.      window to the new position is more than half the window size, the
  451.      editor will jump instead of scrolling.
  452.  
  453.      Explicit scroll commands  (e.g.  ^D)  are  not  affected  by  the
  454.      jumpscroll parameter.
  455.  
  456.  
  457.  
  458.  
  459.  
  460.      _2_5_t_h _S_e_p_t_e_m_b_e_r _1_9_9_2                                        _P_a_g_e _7
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      _8                       _S_u_m_m_a_r_y _o_f _D_i_f_f_e_r_e_n_c_e_s _b_e_t_w_e_e_n _V_i _a_n_d _X_v_i
  467.  
  468.  
  469.  
  470.      _2._1_1.  _8-_b_i_t _C_h_a_r_a_c_t_e_r_s
  471.  
  472.      Characters with the top bit set may be displayed, although it  is
  473.      not yet possible to have null ('\0') bytes in a file buffer.  How
  474.      the characters are displayed varies  between  systems;  on  UNIX,
  475.      they  will be shown as an octal escape sequence, while on MS-DOS,
  476.      OS/2 and QNX they will be shown as the actual character in the PC
  477.      character  set.  This can be controlled by setting the cchars and
  478.      mchars variables; if  these  parameters  are  set,  control-  and
  479.      meta-characters (respectively) are shown directly, otherwise they
  480.      are shown as some sequence of printable characters.
  481.  
  482.      You can use the ^_ (control-underscore) command to flip  the  top
  483.      bit  of  the  character  the cursor is on.  This may be useful on
  484.      systems  where  it  is  otherwise  impossible  to   enter   8-bit
  485.      characters.
  486.  
  487.      Tabs are  normally  displayed  as  a  series  of  spaces  of  the
  488.      appropriate length (according to the tabstops parameter); setting
  489.      list mode will cause them to be displayed as a control character,
  490.      as  will  unsetting the tabs parameter.  How the tab character is
  491.      displayed is then under the control of the cchars parameter.
  492.  
  493.      _2._1_2.  _M_o_u_s_e _S_u_p_p_o_r_t
  494.  
  495.      Some mouse support  is  available  for  micro-based  systems  and
  496.      workstations.  Clicking the mouse button on:
  497.  
  498.      any line outside current window
  499.       changes current window to the one  indicated  by  the  mouse
  500.       (can be used instead of g).
  501.  
  502.      top line of any window
  503.       scrolls window downwards (same as ^Y).
  504.  
  505.      bottom line of any window
  506.       scrolls window upwards (same as ^E).
  507.  
  508.      status line of any window
  509.       shows current file and lines (same as ^G).
  510.  
  511.      any text line of any window
  512.       moves text cursor as near as possible to mouse cursor.
  513.  
  514.      Also, windows can be resized by "dragging" the appropriate status
  515.      line up or down with the mouse.
  516.  
  517.      _2._1_3.  _M_i_s_c_e_l_l_a_n_e_o_u_s
  518.  
  519.      o+    The :wn (write file and edit next) command is  provided,  as
  520.       per PC-vi.
  521.  
  522.      o+    There is no limit to the number or size of maps which may be
  523.       defined, nor is there any fixed limit to the number of lines
  524.  
  525.  
  526.      _P_a_g_e _8                                        _2_5_t_h _S_e_p_t_e_m_b_e_r _1_9_9_2
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      _S_u_m_m_a_r_y _o_f _D_i_f_f_e_r_e_n_c_e_s _b_e_t_w_e_e_n _V_i _a_n_d _X_v_i                       _9
  533.  
  534.  
  535.       in a buffer.
  536.  
  537.      o+    The  edit  parameter  controls  whether  a  buffer  can   be
  538.       modified.   This  may  be  used,  together with the _r_e_a_d_o_n_l_y
  539.       parameter, to implement a nicer version of _v_i_e_w(1) than vi's
  540.       version,  since it won't fool you into thinking that editing
  541.       the buffer is in any way safe.  Be warned: once  having  set
  542.       noedit,  it  is not possible to do a :set edit.  It's a one-
  543.       way street.
  544.  
  545.      o+    The timeout parameter is implemented  as  a  numeric  value,
  546.       specifying  the number of milliseconds after which to assume
  547.       that no further input is  available  to  continue  with  the
  548.       parsing  of  a  map  sequence.   This  replaces vi's boolean
  549.       parameter of the same name.
  550.  
  551.      o+    The vbell parameter may be used to specify use of a  visual,
  552.       rather than audible, bell, if this is available.
  553.  
  554.      o+    The  :echo  command  is  available;  it  simply  echoes  its
  555.       arguments, after expansion of % and # characters.
  556.  
  557.      o+    In insert and replace modes, ^_A has the same meaning  as  ^@
  558.       in  vi,  except  that it works at any time, not just for the
  559.       first character.  Also, typing ^B_x, where _x is the name of a
  560.       conjugate  buffer,  inserts the contents of that buffer into
  561.       the input stream at that point.  The buffer named  <  always
  562.       contains the last thing inserted, so that ^_B< is the same as
  563.       ^_A.
  564.  
  565.      _3.  _D_i_f_f_e_r_e_n_c_e_s
  566.  
  567.      o+    Argument handling is somewhat different; for instance, -_R is
  568.       not  supported,  but  "-s parameter=value" is, which is much
  569.       more useful anyway.
  570.  
  571.      o+    The _X_V_I_N_I_T environment variable is read instead  of  _E_X_I_N_I_T.
  572.       Whilst no files are sourced automatically, users who wish to
  573.       have a startup file can arrange it very  easily.   _s_h(1)  or
  574.       _k_s_h(1) users should add this line to their $_H_O_M_E/._p_r_o_f_i_l_e:
  575.  
  576.           _X_V_I_N_I_T='_s_o_u_r_c_e _x_v_i-_s_t_a_r_t_u_p-_f_i_l_e'; _e_x_p_o_r_t _X_V_I_N_I_T
  577.  
  578.       _c_s_h(1) users should add this to their $_H_O_M_E/._l_o_g_i_n:
  579.  
  580.           _s_e_t_e_n_v _X_V_I_N_I_T '_s_o_u_r_c_e _x_v_i-_s_t_a_r_t_u_p-_f_i_l_e'
  581.  
  582.       and MS-DOS users should add this to their _a_u_t_o_e_x_e_c._b_a_t:
  583.  
  584.           _s_e_t _X_V_I_N_I_T=_s_o_u_r_c_e _x_v_i-_s_t_a_r_t_u_p-_f_i_l_e
  585.  
  586.  
  587.      o+    The tags parameter can be  used  to  specify  multiple  tags
  588.       files;  these  can  be  separated  by either "\ " (backslash
  589.       space) or "," (comma).
  590.  
  591.  
  592.      _2_5_t_h _S_e_p_t_e_m_b_e_r _1_9_9_2                                        _P_a_g_e _9
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      _1_0                      _S_u_m_m_a_r_y _o_f _D_i_f_f_e_r_e_n_c_e_s _b_e_t_w_e_e_n _V_i _a_n_d _X_v_i
  599.  
  600.  
  601.      o+    Alternate files are handled slightly differently,  owing  to
  602.       the  presence  of  buffer and window handling.  Essentially,
  603.       when you close a buffer, its filename is remembered  as  the
  604.       alternate  file;  when  you  invoke the ^^ or :e # commands,
  605.       this  filename  is  re-edited.   Note  that  ^^  edits   the
  606.       alternate file in a new buffer window.
  607.  
  608.      o+    Hitting the escape key while in the command  line  does  not
  609.       terminate  input;  instead,  it cancels input, returning the
  610.       prompt to the beginning of the line.  This applies to  input
  611.       for :, /, ?  and !.
  612.  
  613.      o+    Character-based  yanks  (or   deletes)   which   span   line
  614.       boundaries are handled correctly (vi gets this wrong).
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.      _P_a_g_e _1_0                                       _2_5_t_h _S_e_p_t_e_m_b_e_r _1_9_9_2
  659.  
  660.  
  661.